<?php

class flowoptClassAction extends Action
{
    public function addlogAjax()
    {
        $sm = $this->post('sm');
        $mid = (int)$this->post('mid');
        $modenum = $this->post('modenum');
        $name = $this->post('name');
        $zt = $this->post('zt');
        $ztid = $this->post('ztid', '1');
        $ztcolor = $this->post('ztcolor');
        m('flow')->addlog($modenum, $mid, $name, array(
            'explain' => $sm,
            'statusname' => $zt,
            'status' => $ztid,
            'color' => $ztcolor
        ));
        $this->showreturn('ok');
    }

    public function delflowAjax()
    {
        $mid = (int)$this->post('mid');
        $modenum = $this->post('modenum');
        $sm = $this->post('sm');
        $msg = m('flow')->opt('deletebill', $modenum, $mid, $sm);
        if ($msg != 'ok') $this->showreturn('', $msg, 201);
        $this->showreturn('ok');
    }

    //审核
    public function checkAjax()
    {
        $mid = (int)$this->post('mid');
        $zt = (int)$this->post('zt');
        $modenum = $this->post('modenum');
        $sm = $this->post('sm');
        $msg = m('flow')->opt('check', $modenum, $mid, $zt, $sm);
        if ($msg == 'ok') {
            return returnsuccess('处理成功');
        } else {
            return returnerror($msg);
        }
    }

    //单据获取操作菜单
    public function getoptnumAjax()
    {
        $mid = (int)$this->post('mid');
        $num = $this->post('num');
        $arr = m('flow')->getoptmenu($num, $mid, 0);
        $this->showreturn($arr);
    }

    public function yyoptmenuAjax()
    {
        $num = $this->post('modenum');
        $sm = $this->post('sm');
        $optid = (int)$this->post('optmenuid');
        $zt = (int)$this->post('statusvalue');
        $mid = (int)$this->post('mid');
        $msg = m('flow')->optmenu($num, $mid, $optid, $zt, $sm);
        if ($msg != 'ok') $this->showreturn('', $msg, 201);
        $this->showreturn('');
    }

    public function chehuiAjax()
    {
        $mid = (int)$this->post('mid');
        $modenum = $this->post('modenum');
        $sm = $this->post('sm');
        $msg = m('flow')->opt('chehui', $modenum, $mid, $sm);
        if ($msg != 'ok') $this->showreturn('', $msg, 201);
        $this->showreturn('');
    }

    /**
     *    模块统计
     */
    public function flowtotalAjax()
    {
        $modenum = $this->post('modenum');
        $rows = m('flow')->initflow($modenum)->flowtotal();
        $barr['rows'] = $rows;
        echo json_encode($barr);
    }

    /**
     *    将异常单据标识已完成
     */
    public function oksuccessAjax()
    {
        $mid = (int)$this->post('mid');
        $modenum = $this->post('modenum');
        $sm = $this->post('sm');
        $lx = $this->post('lx', '1');
        $flow = m('flow')->initflow($modenum, $mid);
        $msg = $flow->checkerror($lx, $sm);
        return $msg;
    }


    /**
     *    引用签名图片
     */
    public function qianyinAjax()
    {
        $path = $this->option->getval('qmimgstr_' . $this->adminid . '');
        if (isempt($path)) return returnerror('你并没有设置签名图片，可到[个人设置]下添加签名图片');
        if (!file_exists($path)) {
            return returnerror('签名图片不存在了，可到[个人设置]下重新设置签名图片');
        }

        return returnsuccess($path);
    }

    /**
     *    回执确认
     */
    public function receiptcheckAjax()
    {
        $mid = (int)$this->post('mid');
        $modenum = $this->post('modenum');
        $sm = $this->post('sm');
        $receiptid = (int)$this->post('receiptid', '0');
        $flow = m('flow')->initflow($modenum, $mid);

        return $flow->receiptcheck($receiptid, $sm);
    }

    /**
     *    读取字段
     */
    public function getfieldsAjax()
    {
        $modenum = $this->get('modenum');
        $flow = m('flow')->initflow($modenum);
        $farr = array();
        foreach ($flow->fieldsarra as $k => $rs) {
            $farr[] = array(
                'fields' => $rs['fields'],
                'name' => $rs['name'],
                'islb' => $rs['islb'],
            );
        }
        return array(
            'fieldsarr' => $farr,
            'isflow' => $flow->isflow,
            'modenames' => $flow->moders['names'],
        );
    }

    /**
     *    提交评论
     */
    public function pinglunAjax()
    {
        $sm = $this->post('sm');
        $mid = (int)$this->post('mid');
        $modenum = $this->post('modenum');
        $flow = m('flow')->initflow($modenum, $mid);
        $flow->optmenu(-15, 0, $sm);
        $this->showreturn('ok');
    }

    public function savetopdfAjax()
    {
        $imgbase64 = $this->post('imgbase64');
        if (isempt($imgbase64)) return returnerror('无数据');
        $path = '' . UPDIR . '/logs/' . date('Y-m') . '/abc.png';
        $bo = $this->rock->createtxt($path, base64_decode($imgbase64));
        if (!$bo) return returnerror('无系统写入目录权限');
        $fpdf = c('fpdf');
        if (!method_exists($fpdf, 'initFpdf')) return returnerror('没有安装生成pdf插件');
        $fpdf = $fpdf->initFpdf();
        $fpdf->AddPage();
        $fpdf->Image($path, 0, 0);

        $fpdf->Output('F', '' . UPDIR . '/logs/' . date('Y-m') . '/to.pdf');
        $this->showreturn('ok:' . $fpdf->GetPageHeight() . '');
    }
}